package com.chinacoal.microservice.fallback;

import com.chinacoal.microservice.WechatOfficialAccountClient;
import com.chinacoal.microservice.pojo.*;
import com.chinacoal.microservice.util.CodeMsg;
import com.chinacoal.microservice.util.QueryCriteria;
import com.chinacoal.microservice.util.Result;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author zhuliang
 * @version V1.0
 * @Description: 微信公众号-异常回退类
 * @date 2020-12-23 10：14
 */
@Component
public class WechatOfficialAccountClientFallback implements WechatOfficialAccountClient {

    /**
     * @Description: 微信端-我的房间
     * @author zhuliang
     * @date 2020/12/23 9:40
     */
    @Override
    public Result<List<CcmsSmartleasingContract>> getRoomByWechat(String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-工单信息列表
     * @author zhuliang
     * @date 2020/12/23 9:53
     */
    @Override
    public Result<List<CcmsSmartleasingWorkOrder>> getWorkOrderListByWechat(String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-新增工单信息的回显
     * @author zhuliang
     * @date 2020/12/23 10:29
     */
    @Override
    public Result<CcmsSmartleasingTenant> workOrderEcho(String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-新增工单信息
     * @author zhuliang
     * @date 2020/12/23 10:41
     */
    @Override
    public Result addWorkOrder(String token, CcmsSmartleasingWorkOrder workOrder) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-修改个人信息
     * @author zhuliang
     * @date 2020/12/23 10:52
     */
    @Override
    public Result updateTenantByWechat(String token, CcmsSmartleasingTenant tenant) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-所有已缴费费用信息(带分页)
     * @author zhuliang
     * @date 2020/12/23 11:19
     */
    @Override
    public Result<List<CcmsSmartleasingExpenseManag>> getAllExpenseManagByWechat(String token, QueryCriteria queryCriteria) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-所有未缴费费用信息
     * @author zhuliang
     * @date 2020/12/23 14:50
     */
    @Override
    public Result<List<CcmsSmartleasingExpenseManag>> getUnpaidFeesInformationByWechat(String token) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-根据费用id查询通知单信息
     * @author zhuliang
     * @date 2020/12/23 15:26
     */
    @Override
    public Result<CcmsSmartleasingNotice> getNoticeById(String fkExpenseManagId, String token, Integer type) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-生成预支付订单
     * @author zhuliang
     * @date 2020/12/25 10:35
     */
    @Override
    public Result wechatPreOrder(String token, String pkNoticeId, String sandBoxXml) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-支付结果回调地址
     * @author zhuliang
     * @date 2020/12/25 11:52
     */
    @Override
    public Result getPayNotify(HttpServletResponse response, HttpServletRequest request) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-查询支付结果
     * @author zhuliang
     * @date 2020/12/25 18:01
     */
    @Override
    public Result checkPaymentResult(String token, String pkNoticeId, String checkingOrderXml) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-好房快租-查询所有的房间
     * @author zhuliang
     * @date 2020/12/25 19:32
     */
    @Override
    public Result<List<CcmsSmartleasingRoom>> getAllRoom(QueryCriteria queryCriteria) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-好房快租-条件查询所有的房间
     * @author zhuliang
     * @date 2020/12/25 19:32
     */
    @Override
    public Result<List<CcmsSmartleasingRoom>> getWechatRoomByCondition(QueryCriteria queryCriteria) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-好房快租-根据房间id查询房间信息
     * @author zhuliang
     * @date 2020/12/25 19:32
     */
    @Override
    public Result getWechatRoomById(String pkRoomId) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-修改密码
     * @author zhuliang
     * @date 2021/1/8 10:38
     */
    @Override
    public Result changePassword(CcmsSmartleasingTenant tenant) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-添加发票图片和发票pdf文件
     * @author zhuliang
     * @date 2021/2/2 10:14
     */
    @Override
    public Result addInvoicePicture(String imgUrl, String pdfUrl, String pkInvoiceRecordId) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }

    /**
     * @Description: 微信端-接收微信支付下单返回值
     * @author zhuliang
     * @date 2021/2/3 9:13
     */
    @Override
    public Result getWeChatJspiPayData(String xmlStr, String orderNo, String pkNoticeId) {
        return Result.error(CodeMsg.METHOD_NOT_SUPPORTED);
    }
}
